iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 0
0
自我挑戰組

我的 Git 學習歷程系列 第 26

分支系列 - 7:合併發生衝突怎麼辦?

  • 分享至 

  • xImage
  •  

角色情境

小明同時學會輸入指令操作著終端機、
以及透過滑鼠操作著圖像化介面的 Sourcetree 軟體,
又完成一項如何操作分支的概念,信心也逐漸大增。

小明:「完成了。合併成功。」
小華:「目前為止,合併的部份都沒有發生衝突呢~可喜可賀!」
小明:「咦...在什麼情況下合併會發生衝突呢?」
小華:「假設分支 A 和分支 B 編輯同一份檔案的相同部份,將會遇到合併衝突的問題哩~」
小明:「那麼~發生這樣的情況要怎麼解決呢?」
小華:「嗯...建議採取「協調後,保留最主要的內容哩」...」


透過 VSCode + 圖像化介面的 Sourcetree 軟體解決合併時的衝突

(1) 建立分支 feature/mergeA - 編輯 redesign.css 的 p 標籤樣式
(2) 建立分支 feature/mergeB - 編輯 redesign.css 的 p 標籤樣式

https://ithelp.ithome.com.tw/upload/images/20201011/20130245zqvtOxAVuM.png

(3) 由分支 feature/mergeA 合併分支 feature/mergeB,發生衝突

https://ithelp.ithome.com.tw/upload/images/20201011/20130245HNhGdlT2eM.png

(4) 解決合併時的衝突,有四種選擇,分別是:
(a)「接受目前變更」:保留分支 feature/mergeA 的編輯
(b)「接受來源變更」:保留分支 feature/mergeB 的編輯
(c)「接受兩者變更」:保留分支 feature/mergeA 和 feature/mergeB 的編輯
(d)「比較變更」
最後這個情境由分支 feature/mergeA 採用「接受來源變更」。

https://ithelp.ithome.com.tw/upload/images/20201011/20130245RUJODkAyiM.png

(5) 儲存記錄,將檔案由暫存區轉移至儲存庫永久保存,完成合併

https://ithelp.ithome.com.tw/upload/images/20201011/20130245gB2Jc5EzDV.png

恭喜 d(・∀・)b ~解決合併分支時的衝突。
分支的介紹告一段落。
接下來,又要學習什麼呢?


參考來源

(1) 高見龍 - 合併發生衝突了,怎麼辦?
(2) Nulab - 連猴子都能懂的 Git 入門指南:解決衝突
(3) Nulab - 連猴子都能懂的 Git 入門指南:解決合併的衝突


上一篇
分支系列 - 6:如何保留合併後的分支?試試非快轉模式吧!
下一篇
遠端系列 - 1:什麼是本地數據庫(local repository)、遠端數據庫(remote repository)?
系列文
我的 Git 學習歷程32
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言